package com.battle.service.service.in;

import com.battle.pojo.entity.LabelMp;
import com.battle.pojo.param.label.GetLabelDownListParam;
import com.battle.pojo.vo.label.GetLabelVo;
import nirvana.core.domains.vo.PageResult;
import com.battle.pojo.param.labelMp.*;
import com.battle.pojo.vo.labelMp.*;

import java.util.List;
import java.util.Map;


/**
 * 【描 述】：标签关联表服务
 * 【环 境】：J2SE
 * 【详 细】：
 */
public interface LabelMpService {

    /**
     * 创建标签关联表
     * @param ids
     * @param fid
     */
    void createLabelMp(List<Long> ids,Long fid);


    /**
     * 获取标签关联表下拉列表
     *
     * @param param
     * @return
     */
    List<GetLabelMpDownListVo> getLabelMpDownList(GetLabelMpDownListParam param);

    /**
     * 智能机器人-获取对应标签下的战例
     * @param param
     * @return
     */
    List<GetLabelMpDownListVo> getLabelByName(GetLabelMpListParam param);

    /**
     * 批量获取战例下的标签
     * @param fidIds
     * @return
     */
    Map<Long, List<GetLabelVo>> getListByFidIds(List<Long> fidIds);

    /**
     * 批量获取标签下的用户
     * @param labelIds
     * @return
     */
    Map<Long, List<GetLabelVo>> getListByLabelIds(List<Long> labelIds);

    /**
     * 根据用户获取标签
     * @param fid
     * @return
     */
    List<LabelMp> getLabelByFid(Long fid);
}